package com.ktgj.flight.mapper;

import java.util.List;
import com.ktgj.flight.domain.FlightOrderChange;
import com.ktgj.flight.domain.FlightOrderChangeTicketsDto;
import com.ktgj.flight.domain.vo.*;
import org.apache.ibatis.annotations.Param;

/**
 * 机票预订_机票退改签废订单信息Mapper接口
 * 
 * @author ruoyi
 * @date 2021-10-26
 */
public interface FlightOrderChangeMapper 
{
    /**
     * 查询机票预订_机票退改签废订单信息
     * 
     * @param changeOrderId 机票预订_机票退改签废订单信息ID
     * @return 机票预订_机票退改签废订单信息
     */

    public FlightOrderChange selectFlightOrderChangeById(String changeOrderId);

    /**
     * 查询机票预订_机票退改签废订单信息列表
     * 
     * @param flightOrderChange 机票预订_机票退改签废订单信息
     * @return 机票预订_机票退改签废订单信息集合
     */
    public List<FlightOrderChange> selectFlightOrderChangeList(FlightOrderChange flightOrderChange);

    /**
     * 新增机票预订_机票退改签废订单信息
     * 
     * @param flightOrderChange 机票预订_机票退改签废订单信息
     * @return 结果
     */
    public int insertFlightOrderChange(FlightOrderChange flightOrderChange);

    /**
     * 修改机票预订_机票退改签废订单信息
     * 
     * @param flightOrderChange 机票预订_机票退改签废订单信息
     * @return 结果
     */
    public int updateFlightOrderChange(FlightOrderChange flightOrderChange);

    /**
     * 删除机票预订_机票退改签废订单信息
     * 
     * @param changeOrderId 机票预订_机票退改签废订单信息ID
     * @return 结果
     */
    public int deleteFlightOrderChangeById(Long changeOrderId);

    /**
     * 批量删除机票预订_机票退改签废订单信息
     * 
     * @param changeOrderIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteFlightOrderChangeByIds(Long[] changeOrderIds);
    /**
     * 退改签查询机票列表
     * @param flightRefundChange
     * @return
     */
    public List<FlightRefundChange> selectFlightReturnChange(FlightRefundChange flightRefundChange);

    /**
     * 查询退改签订单详情
     * @param orderId
     * @return
     */
    public List<FlightOrderChange> queryFlightOrderChangeByOrderId(String orderId);

    /**
     * 查询机票（）待处理订单一个
     * @param orderId
     * @return
     */
    public FlightOrderPending selectFlightOrderPendingById(String orderId);

    /**
     * 根据所有条件查询待处理订单
     * @param flightOrderPending
     * @return
     */
    public List<FlightOrderPending> selectFlightOrderPending(FlightOrderPending flightOrderPending);

    /**
     * 退改签订单列表
     * @param tickets
     * @return
     */
    public List<FlightOrderChangeVO> queryOrderChangeList(FlightOrderChangeTicketsDto tickets);

    /**
     * 查询退改签订单详情
     * @param orderId
     * @return
     */
    public List<FlightOrderChange> queryFlightOrderChangeById(String orderId);

    /**
     * 退改签列表
     * */
    public List<FlightOrderChange> flightOrderChangeList(FinanceConsignPymtRecordIdVo financeConsignPymtRecordIdVo);

    /**
     * 退票订单列表
     * */
    public List<FlightOrderChange> refundList(@Param("start") String start, @Param("end") String end);

    /**
     * 查询当天一年前的数据
     * @param createTime
     * @param endCreateTime
     * @return
     */
    public List<FlightOrderChange> overdueTicket(@Param("createTime") String createTime, @Param("endCreateTime") String endCreateTime);
}
